Method and apparatus for providing an interactive language tutor

ABSTRACT

A method and apparatus for generating a pronunciation score by receiving a user phrase intended to conform to a reference phrase and processing the user phrase in accordance with at least one of an articulation-scoring engine, a duration scoring engine and an intonation-scoring engine to derive thereby the pronunciation score. The scores provided by the various scoring engines are adapted to provide a visual and/or numerical feedback that provides information pertaining to correctness or incorrectness in one or more speech-features such as intonation, articulation, voicing, phoneme error and relative word duration. Such useful interactive feedback will allow a user to quickly identify the problem area and take remedial action in reciting “tutor” sentences or phrases.

This application is a continuation-in-part of U.S. application Ser. No. 10/188,539, filed Jul. 3, 2002, which is herein incorporated by reference. This application claims the benefit of U.S. Provisional Application No. 60/397,512 filed on Jul. 19, 2002, which is herein incorporated by reference.

TECHNICAL FIELD

The invention relates generally to signal analysis devices and, more specifically, to a method and apparatus for improving the language skills of a user.

BACKGROUND OF THE INVENTION

During the past few years, there has been significant interest in developing new computer based techniques in the area of language learning. An area of significant growth has been the use of multimedia (audio, image, and video) for language learning. These approaches have mainly focused on the language comprehension aspects. In these approaches, proficiency in pronunciation is achieved through practice and self-evaluation.

Typical pronunciation scoring algorithms are based upon the phonetic segmentation of a user's speech that identifies the begin and end time of each phoneme as determined by an automatic speech recognition system.

Unfortunately, present computer based techniques do not provide sufficiently accurate scoring of several parameters useful or necessary in determining student progress. Additionally, techniques that might provide more accurate results tend to be computationally expensive in terms of processing power and cost. Other existing scoring techniques require the construction of large non-native speakers databases such that non-native students are scored in a manner that compensates for accents.

Additionally, present computer based techniques do not provide feedback in a manner that allows a user to improve his or her speech. Namely, it is often difficult for a student to identify specific speech problems, e.g., improper relative word duration and intonation, that must be addressed to improve his or her speech. More specifically, once specific speech problems are identified, it will be beneficial to provide feedback in a manner that allows a user to visualize a comparison between his pronunciation against a reference pronunciation.

SUMMARY OF THE INVENTION

These and other deficiencies of the prior art are addressed by the present invention of a method and apparatus for pronunciation scoring that can provide meaningful feedback to identify and correct pronunciation problems quickly. Advantageously, the scoring techniques of the invention enable students to acquire new language skills faster by providing real-time feedback on pronunciation errors. Such a feedback helps the student focus on the key areas that need improvement, such as phoneme pronunciation, intonation, duration, overall speaking rate, and voicing.

More specifically, in one embodiment of the present invention, the scores provided by the various scoring engines are adapted to provide a visual and/or numerical feedback that provides information pertaining to correctness or incorrectness in one or more speech-features such as intonation, articulation, voicing, phoneme error and relative word duration. In one embodiment, speech-features associated with a reference utterance and a user's attempt to repeat the same reference utterance are displayed graphically to the user. In essence, the user is provided with visual feedback. Such useful interactive feedback will allow a user to quickly identify the problem area and take remedial action in reciting “reference” sentences or phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing:

FIG. 1 depicts a high-level block diagram of a system according to an embodiment of the invention;

FIG. 2 depicts a flow diagram of a pronunciation scoring method according to an embodiment of the invention;

FIG. 3A depicts a flow diagram of a training method useful in deriving to a scoring table for an articulation scoring engine method;

FIG. 3B depicts a flow diagram of an articulation scoring engine method suitable for use in the pronunciation scoring method of FIG. 2;

FIG. 4 depicts a flow diagram of a duration scoring engine method suitable for use in the pronunciation scoring method of FIG. 2;

FIG. 5 depicts a flow diagram of an intonation scoring engine method suitable for use in the pronunciation scoring method of FIG. 2;

FIG. 6 graphically depicts probability density functions (pdfs) associated with a particular phoneme;

FIG. 7 graphically depicts a pitch contour comparison that benefits from time normalization in accordance with an embodiment of the invention;

FIG. 8 graphically depicts a pitch contour comparison that benefits from constrained dynamic programming in accordance with an embodiment of the invention;

FIGS. 9A-9C graphically depict respective pitch contours of different pronunciations of a common phrase;

FIG. 10 depicts a flow diagram of a method for providing feedback graphically to a user;

FIG. 11 depicts an evaluation screen of the present invention;

FIG. 12 depicts an alternative evaluation screen of the present invention;

FIG. 13 depicts an alternative evaluation screen of the present invention;

FIG. 14 depicts an alternative evaluation screen of the present invention;

FIG. 15 depicts a portable apparatus that deploys the scoring and graphical feedback display methods of the present invention;

FIG. 16 depicts a score evaluation screen of the present invention; and

FIG. 17 depicts a history evaluation screen of the present invention.

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.

DETAILED DESCRIPTION OF THE INVENTION

The subject invention will be primarily described within the context of methods and apparatus for assisting a user learning a new language. However, it will be appreciated by those skilled in the art that the present invention is also applicable within the context of the elimination or reduction of an accent, the learning of an accent (e.g., by an actor or tourist), speech therapy and the like.

The various scoring methods and algorithms described herein are primarily directed to the following three main aspects; namely, an articulation scoring aspect, a duration scoring aspect and an intonation and voicing scoring aspect. Each of the three aspects is associated with a respective scoring engine.

The articulation score is tutor-independent and is adapted to detect mispronunciation of phonemes. The articulation score indicates how close the user's pronunciation is to a reference or native speaker pronunciation. The articulation score is relatively insensitive to normal variability in pronunciation from one utterance to another utterance for the same speaker, as well as for different speakers. The articulation score is computed at the phoneme level and aggregated to produce scores at the word level and the complete user phrase.

The duration score provides feedback on the relative duration differences between the user and the reference speaker for different sounds or words in a phrase. The overall speaking rate in relation to the reference speaker also provides important information to a user.

The intonation score computes perceptually relevant differences in the intonation of the user and the reference speaker. The intonation score is tutor-dependent and provides feedback at the word and phrase level. The voicing score is also computed in a manner similar to the intonation score. The voicing score is a measure of the differences in voicing level of periodic and unvoiced components in the user's speech and the reference speaker's speech. For instance, the fricatives such as /s/ and /f/ are mainly unvoiced, vowel sounds (/a/, /e/, etc.) are mainly voiced, and voiced fricatives such as /z/, have both voiced and unvoiced components. Someone with speech disabilities may have difficulty with reproducing correct voicing for different sounds, thereby, making communication with others more difficult.

FIG. 1 depicts a high-level block diagram of a system according to an embodiment of the invention. Specifically, the system 100 of FIG. 1 comprises a reference speaker source 110, a controller 120, a user prompting device 130 and a user voice input device 140. It is noted that the system 100 of FIG. 1 may comprise hardware typically associated with a standard personal computer (PC) or other computing devices. It is noted that the various databases and scoring engines described below may be stored locally in a user's PC, or stored remotely at a server location accessible via, for example, the Internet or other computer networks.

The reference speaker source 110 comprises a live or recorded source of reference audio information. The reference audio information is subsequently stored within a reference database 128-1 within (or accessible by) the controller 120. The user-prompting device 130 comprises a device suitable for prompting a user to respond and, generally, perform tasks in accordance with the subject invention and related apparatus and methods. The user-prompting device 130 may comprise a display device having associated with it an audio presentation device (e.g., speakers). The user-prompting device is suitable for providing audio and, optionally, video or image feedback to a user. The user voice input device 140 comprises, illustratively, a microphone or other audio input devices that responsively couple audio or voice input to the controller 120.

The controller 120 of FIG. 1 comprises a processor 124 as well as memory 128 for storing various control programs 128-3. The processor 124 cooperates with conventional support circuitry 126 such as power supplies, clock circuits, cache memory and the like as well as circuits that assist in executing the software routines stored in the memory 128. As such, it is contemplated that some of the process steps discussed herein as software processes may be implemented within hardware, for example as circuitry that cooperates with the processor 124 to perform various steps. The controller 120 also contains input/output (I/O) circuitry 122 that forms an interface between the various functional elements communicating with the controller 120. For example, in the embodiment of FIG. 1, the controller 120 communicates with the reference speaker source 110, user prompting device 130 and user voice input device 140.

Although the controller 120 of FIG. 1 is depicted as a general-purpose computer that is programmed to perform various control functions in accordance with the present invention, the invention can be implemented in hardware as, for example, an application specific integrated circuit (ASIC). As such, the process steps described herein are intended to be broadly interpreted as being equivalently performed by software, hardware or a combination thereof.

The memory 128 is used to store a reference database 128-1, scoring engines 128-2, control programs and other programs 128-3 and a user database 128-4. The reference database 128-1 stores audio information received from, for example, the reference speaker source 110. The audio information stored within the reference database 128-1 may also be supplied via alternate means such as a computer network (not shown) or storage device (not shown) cooperating with the controller 120. The audio information stored within the reference database 128-1 may be provided to the user-prompting device 130, which responsively presents the stored audio information to a user.

The scoring engines 128-2 comprise a plurality of scoring engines or algorithms suitable for use in the present invention. Briefly, the scoring engines 128-2 include one or more of an articulation-scoring engine, a duration scoring engine and an intonation and voicing-scoring engine. Each of these scoring engines is used to process voice or audio information provided via, for example, the user voice input device 140. Each of these scoring engines is used to correlate the audio information provided by the user to the audio information provided by a reference source to determine thereby a score indicative of such correlation. The scoring engines will be discussed in more detail below with respect to FIGS. 3-5.

The programs 128-3 stored within the memory 128 comprise various programs used to implement the functions described herein pertaining to the present invention. Such programs include those programs useful in receiving data from the reference speaker source 110 (and optionally encoding that data prior to storage), those programs useful in providing stored audio data to the user-prompting device 130, those programs useful in receiving and encoding voice information received via the user voice input device 140, those programs useful in applying input data to the scoring engines, operating the scoring engines and deriving results from the scoring engines. The user database 128-4 is useful in storing scores associated with a user, as well as voice samples provided by the user such that a historical record may be generated to show user progress in achieving a desired language skill level.

FIG. 2 depicts a flow diagram of a pronunciation scoring method according to an embodiment of the invention. Specifically, the method 200 of FIG. 2 is entered at step 205 when a phrase or word pronounced by a reference speaker is presented to a user. That is, at step 205 a phrase or word stored within the reference database 128-1 is presented to a user via the user-prompting device 130 or other presentation device.

At step 210, the user is prompted to pronounce the word or phrase previously presented either in text form or in text and voice. At step 215, the word or phrase spoken by the user in response to the prompt is recorded and, if necessary, encoded in a manner compatible with the user database 128-4 and scoring engines 128-2. For example, the recorded user pronunciation of the word or phrase may be stored as a digitized voice stream or signal or as an encoded digitized voice stream or signal.

At step 220, the stored encoded or unencoded voice stream or signal is processed using an articulation-scoring engine. At step 225, the stored encoded or unencoded voice stream or signal is processed using a duration scoring engine. At step 230, the stored encoded or unencoded voice stream or signal is processed using an intonation and voicing scoring engine. It will be appreciated by those skilled in the art that the articulation, duration and intonation/voicing scoring engines may be used individually or in any combination to achieve a respective score. Moreover, the user's voice may be processed in real-time (i.e., without storing in the user database), after storing in an unencoded fashion, after encoding, or in any combination thereof.

At step 235, feedback is provided to the user based on one or more of the articulation, duration and/or intonation and voicing engine scores. At step 240, a new phrase or word is selected, and steps 205-235 are repeated. After a predefined period of time, iterations through the loop or achieved level of scoring for one or more of the scoring engines, the method 200 is exited.

Articulation Scoring Algorithm

The articulation score is tutor-independent and is adapted to detect phoneme level and word-level mispronunciations. The articulation score indicates how close the user's pronunciation is to a reference or native speaker pronunciation. The articulation score is relatively insensitive to normal variability in pronunciation from one utterance to another utterance for the same speaker, as well as for different speakers.

The articulation-storing algorithm computes an articulation score based upon speech templates that are derived from a speech database of native speakers only. A method to obtain speech templates is known in the art. In this approach, after obtaining segmentations by Viterbi decoding, an observation vector assigned to a particular phoneme is applied on a garbage model g (trained using, e.g., all the phonemes of the speech data combined). Thus, for each phoneme q_(i), two scores are obtained; one is the log-likelihood score l_(q) for q_(i), the other is the log-likelihood score l_(g) for garbage model g. The garbage model, also referred to as the general speech model, is a single model derived from all the speech data. By examining the difference between l_(q) and l_(g), a score for the current phoneme is determined. A score table indexed by the log-likelihood difference is discussed below with respect to Table 1.

FIG. 3 depicts a flow diagram of an articulation scoring engine method suitable for use as, for example, step 220 in the method 200 of FIG. 2. FIG. 3A depicts a flow diagram of a training method useful in deriving a scoring table for an articulation scoring engine, while FIG. 3B depicts a flow diagram of an articulation scoring engine method.

The method 300A of FIG. 3A generates a score table indexed by the log-likelihood difference between l_(q) and l_(g).

At step 305, a training database is determined. The training database is derived from a speech database of native speakers only (i.e., American English speakers in the case of American reference speakers).

At step 310, for each utterance, an “in-grammar” and “out-grammar” is constructed, where in-grammar is defined as conforming to the target phrase (i.e., the same as the speech) and where out-grammar is a some other randomly selected phrase in the training database randomly selected (i.e., non-conforming to the target phrase).

At step 315, l_(q) and l_(g) are calculated on the in-grammar and out-grammar for each utterance over the whole database. The in-grammar log-likelihood score for a phoneme q and a garbage model g are denoted as l_(q) ^(i) and l_(g) ^(i), respectively. The out-grammar log-likelihood score for q and g are denoted as l_(q) ^(o) and l_(g) ^(o), respectively.

At step 320, the l_(q) and l_(g) difference (d^(i)) is calculated. That is, collect the score l_(q) and l_(g) for individual phonemes and compute the difference. The difference between l_(q) and l_(g) is d^(i)=l_(q) ^(i)−l_(g) ^(i), for in-grammar and d^(o)=l_(q) ^(o)−l_(g) ^(o) for out-grammar log-likelihood scores. It is noted that there may be some phonemes that have the same position in the in-grammar and out-of-grammar phrases. These phonemes are removed from consideration by examining the amount of overlap, in time, of the phonemes in the in-grammar and out-of-grammar utterance.

At step 325, the probability density value for d^(i) and d^(o) is calculated. A Gaussian probability density function (pdf) is used to approximate the real pdf, then the two pdfs (in-grammar and out-grammar) can be expressed as f^(i)=N(μ^(i), σ^(i)) and f^(o)=N(μ^(o), σ^(o)), respectively.

FIG. 6 graphically depicts probability density functions (pdfs) associated with a particular phoneme as a function of the difference between l_(q) and l_(g). Specifically, FIG. 6 shows the in-grammar and out-grammar pdfs for a phoneme /C/. It is noted that the Gaussian pdf successfully approximates the actual pdf.

At step 330, a score table is constructed, such as depicted below as Table 1. The entry of the table is the difference d, the output is the score normalized in the range [0, 100]. The log-likelihood difference between the two pdfs f^(i) and f^(o) is defined as h(x)=log f^(i)(x)−log f^(o)(x).

For example, assume the score at μ^(i) as 100, such that at this point the log-likelihood difference between f^(i) and f^(o) is h(μ^(i)). Also assume the score at μ^(o) as 0, such that at this point the log-likelihood difference is h(μ^(o)). Defining the two pdfs' cross point as C, the difference of two pdfs at this point is h(x=C)=0. From value μ^(i) to C, an acoustic scoring table is provided as:

TABLE 1 The score table for acoustic scoring. D score μ^(i) 100 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{90}{10}}{log10}{h\left( \mu^{i} \right)}}}$ 90 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{80}{20}}{log10}{h\left( \mu^{i} \right)}}}$ 80 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{70}{30}}{log10}{h\left( \mu^{i} \right)}}}$ 70 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{60}{40}}{log10}{h\left( \mu^{i} \right)}}}$ 60 x, sub h(x) = 0 50 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{60}{40}}{log10}{h\left( \mu^{o} \right)}}}$ 40 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{70}{30}}{log10}{h\left( \mu^{o} \right)}}}$ 30 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{80}{20}}{log10}{h\left( \mu^{o} \right)}}}$ 20 $x,{{{sub}\mspace{14mu}{h(x)}} = {\frac{\log\frac{90}{10}}{log10}{h\left( \mu^{o} \right)}}}$ 10 μ^(o) 0

FIG. 3B depicts a flow diagram of an articulation scoring engine method suitable for use in the pronunciation scoring method of FIG. 2. Specifically, the method 300B of FIG. 3 is entered at step 350, where a forced alignment to obtain segmentation for the user utterance is performed. At step 355, the l_(q) and l_(g) difference (d^(i)) is calculated for each segment. At step 360, a scoring table (e.g., such as constructed using the method 300A of FIG. 3A) is used as a lookup table to obtain an articulation score for each segment.

For the example of phoneme /C/, whose pdfs are shown in FIG. 6, the score table is constructed as shown in Table 2, as follows:

TABLE 2 The score table for phoneme C d score −6.10 100 −5.63 90 −4.00 80 −3.32 70 −2.86 60 −2.47 50 0.43 40 2.61 30 4.72 20 7.32 10 7.62 0

Thus, illustratively, if the grammar is . . . C . . . , the forced Viterbi decoding gives the log-likelihood difference between the in-grammar and out-grammar log-likelihood score for phoneme C as −3.00, by searching the table, we find the d lies in [−2.86, −3.32], therefore the acoustic score for this phoneme is 60.

Note that in the above example, anti-phone models that are individually constructed for each phoneme model could also replace the garbage model. The anti-phone model for a particular target phoneme may be constructed from those training speech data segments that correspond to phonemes that are most likely to be confused with the target phoneme or using methods known in the art. It should be noted that other techniques for decoding the speech utterance to obtain segmentation may be employed by a person skilled in the art.

Duration Scoring Algorithm

The duration score provides feedback on the relative duration differences between various sounds and words in the user and the reference speaker's utterance. The overall speaking rate in relation to the reference speaker also provides important information to a user.

The phoneme-level segmentation information of user's speech L and tutor's speech T from a Viterbi decoder may be denoted as L=(L₁,L₂, . . . ,L_(N)) and T=(T₁,T₂, . . . ,T_(N)); where N is the total number of phonemes in the sentences, L_(i) and T_(i) are the user's and tutor's durations corresponding to the phoneme q_(i).

FIG. 4 depicts a flow diagram of a duration scoring engine method suitable for use as, for example, step 225 in the method 200 of FIG. 2. The method 400 of FIG. 4 determines the difference in the relative duration of different phonemes between the user and the reference speech, thereby enabling a determination as to whether the user has unusually elongated certain sounds in the utterance in relation to other sounds.

At step 405, the duration series is normalized using the following equation:

$\begin{matrix} {{\hat{L}}_{i} = \frac{L_{i}}{\sum\limits_{i = 1}^{N}L_{i}}} \\ {{\hat{T}}_{i} = \frac{T_{i}}{\sum\limits_{i = 1}^{N}T_{i}}} \end{matrix}$

At step 410, the overall duration score is calculated based on the normalized duration values, as follows:

$D = {\max\left\{ {{0,1} - {\sum\limits_{i = 1}^{N}{{L_{i} - T_{i}}}}} \right\}}$ Intonation Scoring Algorithm

The intonation (and voicing) score computes perceptually relevant differences in the intonation of the user and the reference speaker. The intonation score is tutor-dependent and provides feedback at the word and phrase level. The intonation scoring method operates to compare pitch contours of reference and user speech to derive therefrom a score. The intonation score reflects stress at syllable level, word level and sentence level, intonation pattern for each utterance, and rhythm.

The smoothed pitch contours are then compared according to some perceptually relevant distance measures. Note that the details of the pitch-tracking algorithm are not important for this discussion. However, briefly, the pitch-tracking algorithm is a time domain algorithm that uses autocorrelation analysis. It first computes coarse pitch estimate in the decimated LPC residual domain. The final pitch estimate is obtained by refining the coarse estimate on the original speech signal. The pitch detection algorithm also produces an estimate of the voicing in the signal.

The algorithm is applied on both the tutor's speech and the user's speech, to obtain two pitch series P(T) and P(L), respectively.

The voicing score is computed in a manner similar to the intonation score. The voicing score is a measure of the differences in level of periodic and unvoiced components in the user's speech and the reference speaker's speech. For instance, the fricatives such as /s/ and /f/ are mainly unvoiced, vowel sounds (/a/, /e/, etc.) are mainly voiced, and voiced fricatives such as /z/, have both voiced and unvoiced components. Someone with speech disabilities may have difficulty with reproducing correct voicing for different sounds, thereby, making communication with others more difficult.

FIG. 5 depicts a flow diagram of an intonation scoring engine method suitable for use as, for example, step 230 in the method 200 of FIG. 2.

At step 505, the word-level segmentations of the user and reference phrases are obtained by, for example, a forced alignment technique. Word segmentation is used because the inventors consider pitch relatively meaningless in terms of phonemes.

At step 510, a pitch contour is mapped on a word-by-word basis using normalized pitch values. That is, the pitch contours of the user's and the tutor's speech are determined.

At step 520, constrained dynamic programming is applied as appropriate. Since the length of the tutor's pitch series is normally different from the user's pitch series, it may be necessary to normalize them. Even if the lengths of tutor's pitch series and user's are the same, there is likely to be a need for time normalizations.

At step 525, the pitch contours are compared to derive therefrom an intonation score.

For example, assume that the pitch series for a speech utterance is P=(P₁,P₂, . . . ,P_(M)) where M is the length of pitch series, P_(i) is the pitch period corresponding to frame i. In the exemplary embodiments, a frame is a block of speech (typically 20-30 ms) for which a pitch value is computed. After mapping onto the word, the pitch series is obtained on a word-by-word basis, as follows: P=(P¹,P², . . . ,P^(N)); and P^(i)=(P₁ ^(i),P₂ ^(i), . . . ,P_(M) _(i) ^(i)), 1≦i≦N; where P^(i) is the pitch series corresponding to i^(th) word, M_(i) is the length of pitch series of i^(th) word, N is the number of words within the sentence.

Optionally, a pitch-racking algorithm is applied on both the tutor and learner's speech to obtain two pitch series as follows: P_(T)=(P_(T) ¹, P_(T) ², . . . ,P_(T) ^(N)) and P_(L)=(P_(L) ¹,P_(L) ²,P_(L) ^(N)). It should be noted that even for the same i^(th) word, the tutor and the learner's duration may be different such that the length of P_(T) ^(i) is not necessarily equal to the length of P_(L) ^(i). The most perceptually relevant part within the intonation is the word based pitch movements. Therefore, the word-level intonation score is determined first. That is, given the i^(th) word level pitch series P_(T) ^(i) and P_(L) ^(i), the “distance” between them is measured.

For example, assume that two pitch series for a word are denoted as follows: P_(T)=(T₁,T₂, . . . ,T_(D)) and P_(L)=(L₁,L₂, . . . ,L_(E)), where D, E are the length of pitch series for the particular word. Since P_(T) and P_(L) are the pitch values corresponding to a single word, there may exist two cases; namely, (1) The pitch contours are continuous within a word such that no intra-word gap exists (i.e., no gap in the pitch contour of a word); and (2) There may be some parts of speech without pitch values within a word, thus leading gaps within pitch contour (i.e., the parts may be unvoiced phonemes like unvoiced fricatives and unvoiced stop consonants, or the parts may be voiced phonemes with little energy and/or low signal-to-Noise ratio which cannot be detected by pitch tracking algorithm).

For the second case, the method operates to remove the gaps within pitch contour and thereby make the pitch contour appear to be continuous. It is noted that such operation may produce some discontinuity at the points where the pitch contours are bridged. As such, the smoothing algorithm is preferably applied in such cases to remove these discontinuities before computing any distance.

In one embodiment of the invention, only the relative movement or comparison of pitch is considered, rather than changes or differences in absolute pitch value. In this embodiment, pitch normalizations are applied to remove those pitch values equal to zero; then the mean pitch value within the word is subtracted; then a scaling is applied to the pitch contour that normalizes for the difference in the nominal pitch between the tutor and the user's speech. For instance, the nominal pitch for a male speaker is quite different from the nominal pitch for a female speaker, or a child. The scaling accounts for these differences. The average of the pitch values over the whole utterance is used to compute the scale value. Note that the scale value may also be computed by maintaining average pitch values over multiple utterances to obtain more reliable estimate of the tutor's and user's nominal pitch values. The resulting pitch contours for a word are then represented as: {tilde over (P)}_(T)=({tilde over (T)}₁,{tilde over (T)}₂, . . . ,{tilde over (T)}_({tilde over (D)})) and {tilde over (P)}_(L)=({tilde over (L)}₁,{tilde over (L)}₂, . . . ,{tilde over (L)}_({tilde over (E)})), where {tilde over (D)}, {tilde over (E)}are the length of normalized pitch series.

FIG. 7 graphically depicts a pitch contour comparison that benefits from time normalization in accordance with an embodiment of the invention. Specifically, FIG. 7 depicts a tutor's pitch contour 710 and a learner's pitch contour 720 that are misaligned in time by a temporal amount t_(LAG). It can be seen that the user or learner's intonation is quite similar to the tutor's intonation. However, due to the duration difference of phonemes within the word(s) spoken, the learner's pitch contour is not aligned with the tutor's. In this case, if the distance measure is applied directly, incorrect score will be obtained. Thus, in the case of such non-alignment, a constrained dynamic programming method is used to find the best match path between the tutor and learner's pitch series.

FIG. 8 graphically depicts a pitch contour comparison that benefits from constrained dynamic programming in accordance with an embodiment of the invention. Specifically, FIG. 8 depicts a tutor's pitch contour 810 and a learner's pitch contour 820 that are quite different yet still yield a relatively good score since three parts (812, 814, 816) of the tutor's pitch contour 810 are very well matched to three corresponding parts (822, 824, 826) of the learner's pitch contour 820.

The dynamic programming described herein attempts to provide a “best” match to two pitch contours. However, this may result in an unreliable score unless some constraints are applied to the dynamic programming. The constraints limit the match area of dynamic programming. In one experiment, the inventors determined that the mapping path's slope should lie within [0.5,2]. Within the context of the dynamic programming, two warping functions are found; namely Φ_(T) and Φ_(L), which related the indices of two pitch series, i_(T) and i_(L), respectively. Specifically, i_(T)=Φ_(T)(k), k=1,2, . . . ,K and i_(L)=Φ_(L)(k), k=1,2, . . . ,K; where k is the normalized index.

For example, assume that {tilde over (P)}_(T), {tilde over (P)}_(L) are the normalized pitch series of tutor and learner, and that Δ{tilde over (P)}_(T), Δ{tilde over (P)}_(L) are the first order temporal derivative of pitch series of the tutor and learner, respectively. Then the following equations are derived:

$\begin{matrix} {{\overset{\sim}{P}}_{T} = \left( {{\overset{\sim}{T}}_{1},{\overset{\sim}{T}}_{2},\ldots\;,{\overset{\sim}{T}}_{\overset{\sim}{D}}} \right)} \\ {{\overset{\sim}{P}}_{L} = \left( {{\overset{\sim}{L}}_{1},{\overset{\sim}{L}}_{2},\ldots\;,{\overset{\sim}{L}}_{\overset{\sim}{E}}} \right)} \\ {{\Delta\;{\overset{\sim}{P}}_{T}} = \left( {{\Delta\;{\overset{\sim}{T}}_{1}},{\Delta{\overset{\sim}{T}}_{2}},\ldots\;,{\Delta\;{\overset{\sim}{T}}_{\overset{\sim}{D}}}} \right)} \\ {{{\Delta\;{\overset{\sim}{P}}_{L}} = \left( {{\Delta{\overset{\sim}{L}}_{1}},{\Delta\;{\overset{\sim}{L}}_{2}},\ldots\;,{\Delta\;{\overset{\sim}{L}}_{\overset{\sim}{E}}}} \right)};{and}} \\ {{{\Delta\;{\overset{\sim}{T}}_{i}} = {\mu{\sum\limits_{k = {- K}}^{K}{k\;{\overset{\sim}{T}}_{i + k}}}}},{1 \leq i \leq \overset{\sim}{D}}} \\ {{{\Delta\;{\overset{\sim}{L}}_{i}} = {\mu{\sum\limits_{k = {- K}}^{K}{k\;{\overset{\sim}{L}}_{i + k}}}}},{1 \leq i \leq \overset{\sim}{E}}} \end{matrix}$

The constant μ is used for the normalization and controls the weight of the delta-pitch series. While K is normally selected as 4 to compute the derivatives, other values may be selected. Dynamic programming is used to minimize the distance between the series ({tilde over (P)}_(T),Δ{tilde over (P)}_(T)) and ({tilde over (P)}_(L),Δ{tilde over (P)}_(L)), as follows:

$d_{\Phi} = {\sum\limits_{i = 1}^{K}{d\left( {{\Phi_{T}(i)},{\Phi_{L}(i)}} \right)}}$

d=({tilde over (T)}_(i)−{tilde over (L)}_(i))²+(Δ{tilde over (T)}_(i)−Δ{tilde over (L)}_(i))² is the Euclidean distance between two normalized vectors ({tilde over (T)}_(i),Δ{tilde over (T)}_(i)) and ({tilde over (L)}_(i),Δ{tilde over (L)}_(i)) at time i. It is contemplated by the inventors that other distance measurements may also be used to practice various embodiments of the invention.

The last intonation score is determined as:

${S = {1 - {0.5 \times \frac{\mathbb{d}_{\Phi}}{\mathbb{d}_{T}{+ \mathbb{d}_{L}}}}}};{{{where}\mspace{14mu} d_{T}} = {{{\sum\limits_{i = 1}^{K}\left( {\overset{\sim}{T}}_{i} \right)^{2}} + {\left( {\Delta\;{\overset{\sim}{T}}_{i}} \right)^{2}\mspace{14mu}{and}\mspace{14mu} d_{L}}} = {{\sum\limits_{i = 1}^{K}\left( {\overset{\sim}{L}}_{i} \right)^{2}} + \left( {\Delta\;{\overset{\sim}{L}}_{i}} \right)^{2}}}}$

EXAMPLE

FIGS. 9A-9C graphically depicts respective pitch contours of different pronunciations of a common phrase. Specifically, the same sentence (“my name is steve”) with different intonation was repeated by a reference speaker and by three different users to provide respective pitch contour data.

A first pitch contour is depicted in FIG. 9A for the sentence ‘my name IS steve’ in which emphasis is placed on the word “is” by the speaker.

A second pitch contour is depicted in FIG. 9B for the sentence ‘my NAME is steve’ in which emphasis is placed on the word “name” by the speaker.

A third pitch contour is depicted in FIG. 9C for the sentence ‘MY name is steve’ in which emphasis is placed on the word “my” by the speaker.

The tutor's pitch series for these three different intonations are denoted as T^(i),i=1,2,3. Three different non-native speakers were asked to read the sentences following tutor's different intonations. Each reader is requested to repeat 7 times for each phrase, giving 21 utterances per speaker, denoted as U_(k) ^(i), i=1,2,3 represents different intonations, k=1,2, . . . ,7 is the utterance index. There are four words in sentence ‘my name is steve’, thus one reader actually produces 21 different intonations for each word. Taking T¹,T²,T³ as tutor, we can get four word-level intonation scores and one overall score on these 21 sentences. The experiment is executed as follows:

To compare the automatic score and the human-being expert score, the pitch contour of these 21 sentences is compared with the tutor's pitch contour T¹,T²,T³. The reader's intonation is labeled as ‘good’, ‘reasonable’ and ‘bad’, where ‘good’ means perfect match between user's and tutor's intonations, ‘bad’ is poor match between them, and ‘reasonable’ lies within ‘good’ and ‘bad’. Perform the scoring algorithm discussed above on these 21 sentences, obtaining the scores for class ‘good’, ‘not bad’ and ‘bad’.

The scoring algorithms and method described herein produce reliable and consistent scores that have perceptual relevance. They each focus on different aspects of pronunciation in a relatively orthogonal manner. This allows a user to focus on improving either the articulation problems, or the intonation problems, or the duration issues in isolation or together. These algorithms are computationally very simple and therefore can be implemented on very low-power processors. The methods and algorithms have been implemented on an ARM7 (74 MHz) series processor to run in real-time.

FIG. 10 depicts a flow diagram of a method 100 for providing feedback graphically to a user. Specifically, one embodiment of the present invention provides a user with a fast interactive approach to identify and track key areas for improvement of speech. The present invention accomplishes this fast identification and tracking by providing graphical and/or numerical feedback for speech-features. This provides the user with a comparison of his or her speech features to that of the ideal or reference speech and indicates how accurate that feature is to the feature of the ideal or reference speech. The speech features may include voicing, articulation, relative word duration, intonation and phoneme error indication. Optionally, a numeral rating, e.g., percentage accuracy, can also be provided to the user regarding the correctness of each speech-feature.

By providing interactive feedback graphically, the present invention will assist the user in addressing con-genital speech problems and non-native language learners to improve their pronunciation and listening comprehension capabilities. For example, the present invention can be used to complement the capabilities of a trained speech pathologist in treating patients. The present invention can log a patient's progress over time and can be used for training when the patient is at home. With remote access capability, e.g., web access, as disclosed above, the present invention will permit a patient to have access to exercises prepared by his or her speech therapist, and the therapist, in turn, will have access to the patient's log files showing his or her performance both numerically and graphically.

Returning to FIG. 10, method 1000 starts in step 1005 and proceeds to step 1010, where a previously recorded tutor or reference voice of a sentence, phrase, or word is played. In practice, a set of previously recorded utterances, e.g., paragraphs, sentences, phrases and/or words, is stored for retrieval by the user. When a selected utterance is played, the user will hear the proper pronunciation of the sentence, phrase, or word that the user is attempting to learn.

In step 1020, method 1000 displays graphically a speech-feature of the tutor's speech of the utterance. The displayed speech-feature can be selected by the user and is further described below.

In step 1030, the user is prompted to repeat the tutor's voicing of the utterance and the user's utterance is recorded.

In step 1040, method 1000 displays graphically a speech-feature of the user's speech of the utterance. Again, the displayed speech-feature is selected by the user and the displayed speech-feature is presented in a manner that will allow the user to visually compare the speech-feature of the tutor's voicing of the utterance with the speech-feature of the user's voicing of the utterance.

In step 1050, method 1000 displays one or more numerical scores related to the user's voicing of the reference utterance. The numerical scores may comprise various scores as disclosed above or any other numerical measures, e.g., percentage accuracy and so on. It should be noted that displaying numerical scores is optionally deployed.

In step 1060, method 1000 queries whether the user is interested in repeating the previous reference utterance or selecting another reference utterance. If the query is positively answered, then steps 1010 to 1050 are repeated. If the query is negatively answered, then method 1000 ends in step 1065.

It should be noted that the present invention is not limited by the order of the steps of FIG. 10. Namely, the display steps of 1020, 1040 and 1050 can be employed in different orders. For example, the tutor's utterance can be displayed at the same time frame along with the user's utterance and so on.

FIG. 11 depicts an evaluation screen 1100 of the present invention. The evaluation screen comprises several display areas: a sub-page selection area 1110, a text area 1120, a tutor speech-feature display area 1130, a user speech-feature display area 1140, and a control area 1150.

In operation, a user is presented with several sub-pages to view an utterance, e.g., a “view” sub-page 1102, a “word” sub-page 1104 and a “phoneme” sub-page 1106. The “view” sub-page is designed to display graphically the speech intonation of the tutor's utterance and the speech intonation of the user's utterance. This sub-page is intended to focus on the intonation speech-feature. The user is presented with a tutor or reference phrase in the text area 1120. In this instance, an English sentence is presented with its corresponding Chinese translation. Below the text area 1120, one or more intonation curves are provided in the tutor speech-feature display area 1130 to illustrate graphically the proper intonation of the utterance as displayed in the current text area 1120. Once the intonation curve of the tutor's utterance is displayed, the user is prompted to repeat the same utterance by a message in the user speech-feature display area 1140. The user's utterance is then recorded and, an intonation curve of the user's utterance (shown in FIG. 12) is presented in the user speech-feature display area 1140 for easy comparison with the intonation curve of the tutor's utterance. Finally, control area 1150 presents the user with a set of controls, e.g., escape, play tutor utterance, volume up, volume down, record, play user utterance, page down, display key for volume/speed and so on.

FIG. 12 depicts an alternative evaluation screen 1200 of the present invention. Specifically, FIG. 12 is very similar to FIG. 11 with the exception of presenting the intonation curve of the user's utterance in the user speech-feature display area 1140 for easy comparison with the intonation curve of the tutor's utterance. Additionally, FIG. 12 illustrates a volume bar 1210 and a speed bar 1220 that indicate the current volume setting and the current speed setting (i.e., the speed of voicing the utterance), respectively.

FIG. 13 depicts an alternative evaluation screen 1300 of the present invention. More specifically, FIG. 13 depicts a screen display where the “word” sub-page 1304 is selected. Using this sub-page, the user is able to check and play the recorded utterance word by word with intonation score feedback for each word.

The “word” evaluation screen comprises several display areas: a sub-page selection area 1310, a text area 1320, a tutor speech-feature display area 1330, a user speech-feature display area 1340, a scoring area 1345 and a control area 1350. The operation of this evaluation screen is similar to that of FIG. 11. As such, the present discussion will only focus on the differences.

More specifically, the text area 1320 now presents the reference utterance in terms of its components, i.e., words. Each word can be highlighted and played. Additionally, the tutor speech-feature display area 1330 and the user speech-feature display area 1340 now display the intonation curves in a format that reflects word duration. Namely, the tutor's intonation curves are shown with word indication immediately below the intonation curves, where the length of the word maps with the duration of the tutor pronunciation of the current word.

Furthermore, in addition to the user's intonation curves as shown in the user speech-feature display area 1340, the present word sub-page also provides score feedback in the scoring area 1345. Specifically, the length of each score field maps the duration of the user pronunciation of the current word. Thus, the user can quickly determine the mistakes based on the intonation curves and the feedback scores.

FIG. 14 depicts an alternative evaluation screen 1400 of the present invention. More specifically, FIG. 14 depicts a screen display where the “phoneme” sub-page 1406 is selected. Using this sub-page, the user is able to check and play the recorded utterance, word by word with the phonemes of a currently selected word illustrated in International Phonetic Symbols.

The “phoneme” evaluation screen comprises several display areas: a sub-page selection area 1410, a text area 1420, a tutor speech-feature display area 1430, a user speech-feature display area 1440 and a control area 1450. The operation of this evaluation screen is similar to that of FIG. 11. As such, the present discussion will only focus on the differences.

In operation, the text, e.g., English text, of the reference utterance is shown with highlighted words that indicate words within the reference utterance that have been wrongly pronounced by the user. It should be noted that what constitute wrongly pronounced words is premised on thresholds that can be selectively set for different speech features. For example, a threshold of 80 can be set for the speech-feature acoustic such that any user uttered words having a score below 80 will cause such user uttered words to be deemed wrongly pronounced and so on.

The user can easily select a highlighted word to view the International Phonetic Symbols associated with that word. More specifically, symbols that are incorrectly pronounced are highlighted. Alternatively, the highlighted symbols may correspond to incorrect or false symbols that were pronounced by the user.

Finally, the user speech-feature display area 1440 displays three speech feature scores and one speed setting. The speed setting indicates the compare ratio between the tutor speech length and the user speech length. The three speech feature scores correspond to duration, acoustic and intonation.

Although the present invention discloses several exemplary evaluation screens above, it should be noted that the present invention is not so limited. Specifically, the order and type of information presented in these evaluation screens can be adapted to meet particular implementation requirements, e.g., presenting different types of speech features, and using different types of curves, e.g., bar curves and so on.

FIG. 16 depicts a score evaluation screen 1600 of the present invention. Specifically, the various speech feature scores as described above can be gathered and viewed to evaluate the performance of a user. In one embodiment, FIG. 16 illustrates the phoneme error viewing mode that displays the phoneme errors (e.g., a list of problematic phones 1610) for a particular lesson. This allows a speech therapist to quick identify the problem areas for a particular user, thereby allowing a speech therapist to apply this performance data to tailor future lessons that will be most beneficial to a specific user. In fact, as performance data are accumulated for various lessons, the present invention provides a historical view to track the performance of a user. Additionally, scoring views can be deployed for other speech feature scores.

FIG. 17 depicts a historical evaluation screen 1700 of the present invention. Specifically, intonation, articulation and duration scores can be viewed graphically in a history mode. The history mode presents a graphical view 1710 that shows the performance trend as a function of time and shows the line charts for each snapshot date by showing the mean and standard deviation for that date. To illustrate, FIG. 17 shows the history view for “lesson 1”. The horizontal axis displays the date on which the score snapshot was saved. The vertical axis represents the scores. The trend plot traces the mean scores over the snapshots. A color, e.g., blue, vertical bar around a mean score represents the standard deviation for that score.

Alternatively, intonation, articulation and duration scores can be viewed in a histogram mode. In one embodiment, the histogram is a bar chart of the frequency distribution of a number of score intervals (e.g., 20), where the height of a bar indicates the number of times a user or student obtained a score in that interval.

It should be noted that different evaluation and historical screens can be adapted to display the intonation, articulation and duration scores. Although the present specification provides several examples, the present invention is not limited to these examples.

FIG. 15 depicts a portable apparatus 1500 that deploys the scoring and graphical feedback display methods of the present invention. The apparatus 1500 is an illustrative embodiment of the apparatus as illustrated in FIG. 1 above.

Specifically, apparatus 1500 is a wireless handheld apparatus comprising a display 1510, a power port 1520, a microphone 1530, a speaker or an earphone port 1540, navigating keys 1550, a brightness control key 1560, a plurality of function keys 1570 and a communication port 1580. In operation, the apparatus 1500 can be powered by a power port 1520, where DC power is received to operate the apparatus and/or charge a battery (not shown) within the apparatus. During normal operation, a screen 1510 displays a number of icons representative of functions that can be performed, e.g., start a tutoring session, change settings, download a set of reference utterances or a quiz, request help and exit the program. The various icons illustrated on the display 1510 can be selected via navigation keys 1550. In addition to the navigation keys, various function keys are provided to perform various functions, e.g., record, play, shift and menu, On/Off and so on.

The apparatus 1500 is also provided with various input/output devices or ports, e.g., a microphone or a port for an external microphone 1530 and a speaker or a port for an earphone 1540. Additionally, a communication port, e.g., a serial port 1580 is provided to download a set of reference utterance. Alternatively, the communication port 1580 may encompass a transmitter and a receiver to communicate with a wireless network. Finally, a brightness control key 1560 is provided to adjust the brightness of the display 1510.

Although various embodiments that incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings. 

1. A method for providing speech-feature feedback, said method comprising the steps of: presenting a reference utterance; displaying graphically each word of said reference utterance; displaying graphically a speech-feature associated with speech of said reference utterance; receiving a user utterance that represents speech of said reference utterance by a user; displaying graphically a speech-feature associated with speech of said user utterance; and displaying graphically a score field for each graphically displayed word of said reference utterance, wherein each score field has a length indicative of a duration of said corresponding word of said user utterance, wherein each score field includes at least one numerical score for at least one speech-feature of said word of said user utterance.
 2. The method of claim 1, wherein said speech-feature represents intonation.
 3. The method of claim 2, wherein said speech-feature associated with speech of said reference utterance and said speech-feature associated with speech of said user utterance are graphically displayed as intonation curves.
 4. The method of claim 1, wherein said speech-feature represents acoustic quality.
 5. The method of claim 1, wherein said speech-feature represents word duration.
 6. The method of claim 1, wherein said at least one numerical score comprises an intonation score.
 7. The method of claim 1, wherein said at least one numerical score comprises an acoustic quality score.
 8. The method of claim 1, wherein said at least one numerical score comprises a word duration score.
 9. The method of claim 1, further comprising the step of: playing said reference utterance.
 10. The method of claim 1, wherein said speech-feature associated with speech of said reference utterance is presented graphically as a plurality of intonation curves corresponding to said words of said reference utterance.
 11. The method of claim 1, wherein said speech-feature associated with speech of said user utterance is presented graphically as a plurality of international phonetic symbols corresponding to a selected graphically displayed word of said reference utterance.
 12. The method of claim 11, wherein a subset of said plurality of international phonetic symbols are highlighted to indicate one or more phonemes of said user utterance that are deemed mispronounced.
 13. The method of claim 1, wherein one or more of said graphically displayed words of said reference utterance are highlighted to indicated one or more words of said user utterance that are deemed mispronounced.
 14. The method of claim 1, wherein said method is implemented by a handheld apparatus.
 15. The method of claim 1, further comprising the step of: downloading a set of reference utterances from a remote source.
 16. The method of claim 1, wherein numerical scores associated with said at least one speech-feature are graphically displayed for illustrating historical performance.
 17. A computer readable medium for storing instructions that, when executed by a processor, perform a method for providing speech-feature feedback, said method comprising the steps of: presenting a reference utterance; displaying graphically each word of said reference utterance; displaying graphically a speech-feature associated with speech of said reference utterance; receiving a user utterance that represents speech of said reference utterance by a user; displaying graphically a speech-feature associated with speech of said user utterance; and displaying graphically a score field for each graphically displayed word of said reference utterance, wherein each score field has a length indicative of a duration of said corresponding word of said user utterance, wherein each score field includes at least one numerical score for at least one speech-feature of said word of said user utterance.
 18. Apparatus for providing speech-feature feedback, said apparatus comprising: means for presenting a reference utterance; means for displaying graphically each word of said reference utterance; means for displaying graphically a speech-feature associated with speech of said reference utterance; means for receiving a user utterance that represents speech of said reference utterance by a user; and means for displaying graphically a speech-feature associated with speech of said user utterance; and means for displaying graphically a score field for each graphically displayed word of said reference utterance, wherein each score field has a length indicative of a duration of said corresponding word of said user utterance, wherein each score field includes at least one numerical score for at least one speech-feature of said word of said user utterance.
 19. A handheld device, comprising: a voice input port for receiving a voiced user utterance that represents speech of a reference utterance; a display device for displaying at least pronunciation scoring information; a memory for storing software instructions representing an articulation scoring engine, a duration scoring engine, an intonation scoring engine, and a plurality of reference utterances; and a processor for executing said software instructions representing said scoring engines to derive thereby a pronunciation score for said received utterance; said display device for displaying graphically a score field for each of a plurality of graphically displayed words of said reference utterance, wherein each score field has a length indicative of a duration of a corresponding one of a respective plurality of words of said user utterance, wherein each score field includes at least one numerical score for at least one speech-feature of said word of said user utterance. 